<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // 对象如何设置属性与方法
    const obj = {
        a: 1,
        b: 2,
        info:{
            userName:"zhangsan"
        }
    }
    // $!
    obj["$!"] = function(){
        console.log("32");
    }


    //
    // * 对象如何获取属性与调用方法
    // console.log(obj.a,obj.b);
    // obj["$!"]();

    // const userName = "zhangsan";
    // obj[userName] = "lisi";


    // * .属性名：编码简单，但有时不能用
    // * ["属性名"]：编码麻烦，但通用。
    //
    // * 对象如何进行遍历
    // for(let key in obj){
    //     console.log(key,obj[key]);
    // }


    // * 对象如何删除属性
    // delete obj.a;
    // delete obj.b;
    // delete obj["$!"];
    // delete obj.info.userName;
    // console.log(obj);


    // 对象的属性名只允许是字符串
    var a = {

    };
    var b = {b:1};
    var c = {c:2};
    console.log(b.toString());// [object Object]
    console.log(c.toString());// [object Object]
    a[b] = 4;// a["[object Object]"] = 4
    a[c] = 5;// a["[object Object]"] = 5;
    console.log(a[b]);
</script>
</html>